package cn.edu.scau.disk.pojo;

import cn.edu.scau.disk.mapper.DiskMapper;
import org.springframework.beans.factory.annotation.Autowired;

import java.io.Serializable;
import java.util.ArrayList;

/**
 * 一个目录下面一个一个目录数组和一个目录项数组
 * 根目录固定再磁盘块2
 */
public class Diretory extends File{

    private Integer id;//起始盘块号
    private Diretory[] diretories;//目录数组
    private DiretoryEntry[] diretoryEntries;//目录项数组

    public Diretory(){
        this.diretories=new Diretory[8];
        this.diretoryEntries=new DiretoryEntry[8];
    }
    public void setDiretoryEntries(DiretoryEntry[] diretoryEntries) {
        this.diretoryEntries = diretoryEntries;
    }

    public DiretoryEntry[] getDiretoryEntries() {
        return diretoryEntries;
    }

    public void setDiretories(Diretory[] diretories) {
        this.diretories = diretories;
    }

    public Diretory[] getDiretories() {
        return diretories;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    @Override
    public String toString() {
        String ret="{";
        for (DiretoryEntry diretoryEntry:diretoryEntries){
            if (diretoryEntry!=null){
                ret+="(";
                ret+=new String(diretoryEntry.getName());
                ret+=",";
                ret+=diretoryEntry.getType()[0];
                ret+=",";
                ret+=diretoryEntry.getAttribute();
                ret+=",";
                ret+=diretoryEntry.getStart_disk();
                ret+=",";
                ret+=diretoryEntry.getLength();
                ret+="),";
            }
        }
        ret+="}";
        return ret;
    }
}
